home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / share / idl / bonobo-2.0 / Bonobo_Control.idl < prev    next >
Text File  |  2006-01-09  |  5KB  |  241 lines

  1. /**
  2.  * bonobo-control.idl: Control interfaces
  3.  *
  4.  * Copyright (C) 1999, 2000  Helix Code, Inc.
  5.  *
  6.  * Authors:
  7.  *   Nat Friedman <nat@nat.org>
  8.  *   Miguel de Icaza <miguel@gnu.org>
  9.  */
  10.  
  11. #ifndef BONOBO_CONTROL_IDL
  12. #define BONOBO_CONTROL_IDL
  13.  
  14. #include "Bonobo_UI.idl"
  15. #include "Bonobo_Gdk.idl"
  16. #include "Bonobo_Property.idl"
  17.  
  18. module Bonobo {
  19.  
  20. interface ControlFrame : Bonobo::Unknown {
  21.  
  22.     /**
  23.      * getToplevelId
  24.      *
  25.      * Returns: the WindowId of the true toplevel of the
  26.      * application the control is embedded inside.
  27.      */
  28.     Gdk::WindowId getToplevelId ();
  29.  
  30.     /**
  31.      * getAmbientProperties:
  32.      * 
  33.      * Returns: A PropertyBag containing the ambient properties
  34.      * for this container.
  35.      */
  36.     PropertyBag getAmbientProperties ();
  37.  
  38.     /**
  39.      * getUIContainer:
  40.      *
  41.      * Returns: The interface to be used for menu/toolbar item merging.
  42.      */
  43.     UIContainer getUIContainer ();
  44.  
  45.     /* --- Notifications --- */
  46.  
  47.     /**
  48.      * activated:
  49.      * @state: TRUE if the associated Control has been activated,
  50.      * FALSE if it just became inactive.
  51.      */
  52.     oneway void notifyActivated (in boolean state);
  53.  
  54.     /** 
  55.      * queueResize:
  56.      *
  57.      * Tell the container that the Control would like to be
  58.      * resized.  The container should follow-up by calling
  59.      * Control::setSize ()
  60.      *
  61.      */
  62.     oneway void queueResize ();
  63.  
  64.     /**
  65.      * activateURI:
  66.      * @uri: The uri we would like to get loaded.
  67.      * @relative: Whether the URI is relative to the current URI
  68.      *
  69.      * This is used by the containee when it needs
  70.      * to ask the container to perform some action
  71.      * with a given URI.
  72.      *
  73.      * The user has requested that the uri be loaded
  74.      */
  75.     oneway void activateURI (in string uri, in boolean relative);
  76.  
  77.     /**
  78.      * getParentAccessible:
  79.      *
  80.      * Returns: A CORBA Accessibility reference, related to the
  81.      * parent of the container widget associated with this control
  82.      * frame.
  83.      */
  84.     Unknown getParentAccessible ();
  85.  
  86.     /**
  87.      * unImplemented:
  88.      *
  89.      * placeholders for future expansion.
  90.      */
  91.     void unImplemented ();
  92.     void unImplemented2 ();
  93. };
  94.  
  95. interface Control : Bonobo::Unknown {
  96.     exception NoContents { };
  97.  
  98.     /**
  99.      * getProperties:
  100.      *
  101.      * Returns: A PropertyBag containing this Control's properties.
  102.      */
  103.     PropertyBag getProperties ();
  104.  
  105.     /**
  106.      * getDesiredSize:
  107.      *
  108.      * Returns the requested size for the contained widget.
  109.      */
  110.     Gtk::Requisition getDesiredSize ();
  111.  
  112.     /**
  113.      * getAccessible:
  114.      *
  115.      * Returns: accessibility related resources
  116.      */
  117.     Bonobo::Unknown getAccessible ();
  118.  
  119.     /**
  120.      * getWindowId:
  121.      * @cookie: ',' delimited string, format:
  122.      *                'screen' = <int> [, [ <reserved for expansion> ] ]
  123.      *
  124.      * Returns: the windowId of the plug's window
  125.      */
  126.     Gdk::WindowId getWindowId (in string cookie)
  127.         raises (NoContents);
  128.  
  129.     /**
  130.      * getPopupContainer:
  131.      *
  132.      * Returns: A UIContainer for a parent to push popup items into
  133.      */
  134.     UIContainer getPopupContainer ();
  135.  
  136.     /**
  137.      * setFrame:
  138.      * @frame: A Bonobo_ControlFrame.
  139.      *
  140.      * Gives the Control a handle to its ControlFrame.
  141.      *
  142.      * Returns: The windowId of the plug
  143.      */
  144.     oneway void setFrame (in ControlFrame frame);
  145.  
  146.     /**
  147.      * setSize:
  148.      * @width: width given to the control
  149.      * @height: height given to the control
  150.      *
  151.      * Informs the Control of the size assigned by its container application
  152.      */
  153.     oneway void setSize (in short width, in short height);
  154.  
  155.     /**
  156.      * setState:
  157.      * @state: The new state of the control.
  158.      *
  159.      * Set the control's activity state.
  160.      */
  161.     oneway void setState (in Gtk::State state);
  162.  
  163.     /**
  164.      * activate:
  165.      *
  166.      * Activates or deactivates this Control.
  167.      */
  168.     oneway void activate (in boolean activate);
  169.  
  170.     /**
  171.      * focus:
  172.      *
  173.      * a Control proxy for GtkContainer::focus()
  174.      *
  175.      * Returns: whether focus was transfered.
  176.      */
  177.     boolean focus (in Gtk::Direction direction);
  178.  
  179.     /**
  180.      * unImplemented:
  181.      *
  182.      * placeholders for future expansion.
  183.      */
  184.     void unImplemented  ();
  185.     void unImplemented2 ();
  186.     void unImplemented3 ();
  187. };
  188.  
  189. interface PropertyControl : Bonobo::Unknown {
  190.  
  191.     readonly attribute long pageCount;
  192.  
  193.     enum Action {
  194.         APPLY,
  195.         HELP
  196.     };
  197.  
  198.     /**
  199.      * NoPage: Raised when the page number specified 
  200.      * does not exist.
  201.      */
  202.     exception NoPage {};
  203.     
  204.     /**
  205.      *   An interface for allowing a customization interface
  206.      * in addition / instead of a property bag; rather immature.
  207.      */
  208.  
  209.     /**
  210.      * getControl:
  211.      * @pagenumber: The number of the page to get.
  212.      *
  213.      * Gets the page number @pagenumber. Multiple pages can be used
  214.      * in a number of different ways. One way is for each page to be
  215.      * a new page in a GnomeDruid widget. Another way is for each page
  216.      * to be a page of a GtkNotebook in a GnomePropertyBox. The most
  217.      * common case, however, is for one single page.
  218.      *
  219.      * Returns: a Bonobo::Control for the page.
  220.      */
  221.     Control getControl (in long pagenumber)
  222.         raises (NoPage);
  223.     /**
  224.      * notifyAction:
  225.      * @pagenumber: The page number that this action was performed on.
  226.      * @action: The action that should be performed on the settings.
  227.      *
  228.      * Tell the client what it should do with the settings in the
  229.      * PropertyControl.
  230.      */
  231.     void notifyAction (in long pagenumber, in Action _action)
  232.         raises (NoPage);
  233.  
  234.     void unImplemented  ();
  235.     void unImplemented2 ();
  236. };
  237.  
  238. };
  239.  
  240. #endif
  241.